메이플 숙제알리미 - README

■ 설치

1. 첨부된 MapleTaskReminder-Setup-0.2.2.exe 를 실행합니다.
2. 설치 프로그램이 뜨면 안내에 따라 설치합니다 (관리자 권한 필요 없음).
3. 서명되지 않은 개인 배포 프로그램이라 실행 시 Windows SmartScreen 경고가 뜰 수 있습니다.
   "추가 정보" -> "실행"을 누르면 정상적으로 설치/실행됩니다.


■ 넥슨 오픈 API 키 발급받기 (최초 1회, 필수)

이 프로그램은 각자의 넥슨 오픈 API 키로 본인 캐릭터 정보를 조회합니다.
프로그램 자체에는 키가 들어있지 않아서, 이 키가 없으면 첫 화면에서 진행이 안 됩니다.

1. openapi.nexon.com 에 접속해서 넥슨 계정으로 로그인합니다.
2. 안내에 따라 API 이용 신청(애플리케이션 등록)을 진행합니다.
3. 신청이 완료되면 마이페이지에서 발급된 API 키를 확인할 수 있습니다.
   메이플스토리 API는 보통 신청 즉시 발급됩니다.
4. 발급된 키를 복사해서 프로그램 최초 실행 화면에 붙여넣습니다.

입력한 키는 사용자의 컴퓨터에만 저장됩니다. 다른 사람에게 공유되거나 외부에 저장되지 않습니다.


■ 첫 실행 순서

1. 넥슨 오픈 API 키 입력
2. 알림 받고 싶은 캐릭터 선택 (여러 캐릭 선택 가능)
3. 왼쪽 메뉴에서 대시보드, 스케쥴러, 파티 일정, 공지사항 등을 둘러봅니다.
4. 설정 화면에서 알림 시간, 알림 종류를 원하는 대로 켜고 끕니다.


■ 주요 기능

- 대시보드: 선택한 캐릭터들의 오늘 숙제/보스 완료 현황을 한 번에 확인
- 일간 알림: 오늘 접속 안 했거나, 일일퀘스트/일일보스/몬스터파크를 안 했으면 알림
- 주간 알림: 주간보스(12마리 기준), 길드 콘텐츠(지하수로/플래그 레이스), 에픽던전 중
  안 한 게 있으면 알림
- 월간 알림: 파티 일정에 등록해둔 월간 보스(검은 마법사 등)를 기한 내에 안 하면 알림
- 파티 일정: 보스 파티 일정을 등록해두면 30분 전 / 시작 시각에 알림
- 공지/이벤트 알림: 새 공지, 이벤트, 캐시샵, 업데이트 소식이 올라오면 알림
- 창을 닫아도 트레이(우측 하단 위화살표)로 숨겨질 뿐 계속 실행되면서 알림을 챙겨줍니다
- 일일/주간 알림은 스케줄러에 등록되어 있는 콘텐츠들만 알림을 줍니다.


■ 피드백 / 버그 제보

프로그램이 아직 완벽하지 않습니다. 설정 화면 오른쪽 위의 "피드백 / 버그 제보하기" 버튼으로
바로 남겨주시면 이미지/영상도 첨부해서 보내실 수 있습니다. 


■ 보안 관련

- 소스코드는 모두 공개되어 있습니다: https://github.com/rladbcks23/maple_daily_log
- 넥슨 API 키는 내 컴퓨터에만 저장되며, 넥슨 API를 호출할 때 외에는 어디로도 전송/저장되지 않습니다.
- 개인 배포라 서명 인증서가 없어서 SmartScreen 경고가 뜨는 것뿐이며, 악성 동작은 없습니다.
  못 믿으시겠으면 위 GitHub에서 코드를 직접 확인하실 수 있습니다.

■ 예상 질문

Q1. 왜 로그인으로 안하고 불편하게 API 입력으로 했냐?
A1. nexon open api에는 넥슨 로그인 api가 없어서 구현을 못했습니다. 제 생각에는 아마도 프렌즈 프로그램에 등록되면 로그인 기능을 사용 가능할 것 같은데, 서비스 기간이 더 길어진 후에 재신청하라고 반려 당해서 나중에 프렌즈 프로그램에 신청하고 통과가 되면 그 때 구현할 예정입니다.

Q2. 왜 버전이 0.2.2 냐?
A2. 0.1.N 은 개인 개발 버전이고 0.2.N 은 배포버전 입니다. 원래는 인벤에 배포할 때는 0.3 버전으로 배초하려 했지만 배포 하는김에 같이 하자 생각해서 그렇습니다.

Q3. 이거 디자인 메이플 너무 배낀거 아니냐?
A3. 익숙한 디자인으로 하면 더 친숙한 프로그램으로 다가갈 수 있을 거 같아서 메이플의 공식 사이트에 있는 공지사항의 구분이라든지, 이벤트의 배치, 스케줄러 등등 디자인을 많이 카피했습니다. 상업적으로 이용하지 않을 예정이라서 크게 상관 없을거라 생각합니다.

Q4. 디자인이 너무 촌스러운데?
A4. 앱 자체의 아이디어와 기획 자체는 저 혼자 생각했지만, 디자인적인 부분은 AI(Claude Design) 을 활용해서 만들었습니다. 앱 이름도 AI와 함께 구상한 것입니다. 